home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / minix / update~2.z / update~2 / README.update < prev   
Encoding:
Text File  |  1989-12-27  |  5.9 KB  |  125 lines

  1. ++ (11/?? - 12/26/89) lots of changes (thanks very much to Kai-Uwe for
  2.     his excellent contributions):
  3.  
  4.     kernel/
  5.     new/working versions of stwini and stfloppy. both are autosensing
  6.     drivers, stwini supports removable media drives. all block device
  7.     drivers now understand the concept of firstopen/lastclose (we
  8.     fake it in the ram disk). soon rs232 and tty will too. this requires
  9.     supporting changes in fs and utils too. with these new drivers
  10.     the mkfs supplied in utils *MUST* be used. file systems made with
  11.     the old mkfs will still work, but this compatibility will eventually
  12.     go away (two biggest problems with the old mkfs are that it zeros
  13.     the boot blok, and it requires the user to specify the filesystem size
  14.     desired instead of just sensing it from the media descriptor. the
  15.     zero'ing of boot blocks is especially a problem with floppies, as
  16.     it becomes impossible to auto-sense them, the driver current defaults
  17.     to single sided 9 sectors/track). the new mkfs ofcourse still accepts
  18.     all the old mkfs's options. a few new disk utilities are also provided.
  19.     please read the comments at the top of stwini.c and stfloppy.c
  20.     carefully. thanks to andy michael and frans for their feed back on
  21.     the new naming scheme for wini devices.
  22.  
  23.     fs/
  24.     fast file system: copies directly to user buffers. this gives a
  25.     tremendous gain in speed.
  26.     also, WRITE_IMMED blocks are now kept around in a list, and 
  27.     asynchrounously flushed after the reply is sent. this also helps
  28.     the speed in some cases.
  29.  
  30.     brand new rdwrt.c, map.c: these files replace read.c and write.c.
  31.     (mv read.c and write.c to some other dir).
  32.  
  33.     better elevator flushing. elevator flushes for sync() too.
  34.  
  35.     complete support for first open/ last close. (the upcoming V1.5 will
  36.     only have partial support).
  37.  
  38.     bug fixes (present in all ACK versions of fs too): here is
  39.     kai-uwe's readme:
  40. some time ago i discovered a bug in the mm/fs interface. Namely you must have
  41. read rights to execute a file. I found this is a conceptual problem in the
  42. interface between mm and fs. mm does an open(name,0) and an fstat(fd) call
  43. to check the permissions for the file. However, the open call can only succeed
  44. if you have read rights on the file, because mm temporarily switches to the
  45. users working directory and the users effective uid/gid.
  46.  
  47. The problem is fixed by doing a dirty trick similar to that used by mm to tell
  48. fs the address of the data in a read/write call : pass the access bits desired
  49. by mm directly in the open call (i use bits 12-15 for that). do_open() now
  50. recognizes this and take those bits instead of calculating its own set of bits
  51. from the given access mode. The read code has been modified to allow read on
  52. a file with only the x-bit set. The user can't set this bit in the file
  53. descriptor, so this should not do any harm.
  54.  
  55. Another problem i found was with mounted file systems : the file system gets
  56. bus errors when crossing from the mounted file system to the mounted-on file
  57. system and you don't have the permission to search the mount-on directory.
  58. I found no obvious solution to this, but the bus error can be avoided by
  59. an extension in a while condition. Ideas for soultion, anyone ? What happens
  60. on real UNIX in this case ?
  61.  
  62. Also super.c had spurious adjustments to `bufs_in_use'. this caused me 2
  63. sleepless nights!
  64.  
  65. sttools/
  66.     - build.c, bootblok.*, minix.c: build no longer stores the BSS
  67.     image in minix.img. this reduces the size of minix.img on disk
  68.     tremendously. bootblok and minix.c adjusted to create the 
  69.     respective BSS's and zero them when loading the image in memory.
  70.  
  71.     - gcc-as is not assembling bootblok.s correctly (thanks andy). i
  72.     have'nt quite figured out why. in the mean while please make
  73.     `bootblok' from bootblok.ack  with ACK C. (i have provided
  74.     a bootblok for your convenience). (please remember this is
  75.     a patched bootblok.ack, not same as the origionally distributed
  76.     bootblok.ack).
  77.  
  78. tos/
  79.     patched minix.c/fakeuinix.c. minix.c can be compiled with either
  80.     tos-gcc or Alcyon C. a compiled minix.prg is supplied for your
  81.     convenience.
  82.  
  83. utils/
  84.     mkfs (as mentioned above)    *MUST* use this one
  85.     dk*    new disk utilities.
  86.     (tos command still to come, i have'nt had a chance to test the
  87.     new coding with tos-hd partitions as yet)
  88. h/
  89.     please carefully look over const.h again.
  90.     supporting changes
  91. include/lib
  92.     merged in new ansi headers posted by ast (std.h is gone!)
  93.     stdio routines in lib completely replaced (these are smaller
  94.     faster and more correct (especially when a file is opened for
  95.     "w+" or "r+". they also buffer much more efficiently than
  96.     either earl chew or norbert schelenkars versions of ansi C stdio)
  97.     some minor bug fixes, and adjustments for new headers.
  98.     before you mege in the new sources, in lib/
  99.     delete the following files (you may not have all of them)
  100.     _fopen.c    fprintf.c    stdio.h
  101.     _slot.c        fputc.c        printf.c    stdiolib.h
  102.     atexit.c    fputs.c        puts.c
  103.     bitset.h    fread.c        putw.c
  104.     exit.c        freopen.c    ungetc.c
  105.     _allocbu.c    fclose.c    fseek.c        rewind.c    vfprintf.c
  106.     _eprintf.c    fdopen.c    ftell.c        scanf.c        vfscanf.c
  107.     _fakfls.c    fflush.c    fwrite.c    setbuf.c    vprintf.c
  108.     _filbuf.c    fgetc.c        fwrite.up    setvbuf.c    vscanf.c
  109.     _file.c        fgets.c        gets.c        sprintf.c    vsprintf.c
  110.     _flsbuf.c    fopen.c        getw.c        stdio.c        vsscanf.c
  111.  
  112.     these are replaced by:
  113.     atol.c        fopen.c        ftell.c        main.c        sprintf.c
  114.     doprnt.c    fprintf.c    fungetc.c    putl.c        sscanf.c
  115.     fclose.c    fputc.c        fwrite.c    putw.c        strdup.c
  116.     fdopen.c    fputs.c        getbuf.c    random.c    strtol.c
  117.     fflush.c    fread.c        getl.c        rewind.c    strtoul.c
  118.     fgetc.c        fscanf.c    gets.c        scanf.c
  119.     fgets.c        fseek.c        getw.c        setbuf.c
  120.     filbuf.c    fsetpos.c    lib.h        setvbuf.c
  121.  
  122.     remove _fakls* and crt0* from $(GCCLIB)/ (normally /usr/local/lib)
  123.  
  124.     Compile the library again before building a new kernel.
  125.